Genera (operating System)
   HOME

TheInfoList



OR:

Genera is a
commercial Commercial may refer to: * a dose of advertising conveyed through media (such as - for example - radio or television) ** Radio advertisement ** Television advertisement * (adjective for:) commerce, a system of voluntary exchange of products and s ...
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
and
integrated development environment An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of at least a source code editor, build automation tools a ...
for
Lisp machine Lisp machines are general-purpose computers designed to efficiently run Lisp as their main software and programming language, usually via hardware support. They are an example of a high-level language computer architecture, and in a sense, the ...
s created by
Symbolics Symbolics was a computer manufacturer Symbolics, Inc., and a privately held company that acquired the assets of the former company and continues to sell and maintain the Open Genera Lisp system and the Macsyma computer algebra system.
. It is essentially a
fork In cutlery or kitchenware, a fork (from la, furca 'pitchfork') is a utensil, now usually made of metal, whose long handle terminates in a head that branches into several narrow and often slightly curved tine (structural), tines with which one ...
of an earlier operating system originating on the
Massachusetts Institute of Technology The Massachusetts Institute of Technology (MIT) is a private land-grant research university in Cambridge, Massachusetts. Established in 1861, MIT has played a key role in the development of modern technology and science, and is one of the ...
(MIT) AI Lab's
Lisp machine Lisp machines are general-purpose computers designed to efficiently run Lisp as their main software and programming language, usually via hardware support. They are an example of a high-level language computer architecture, and in a sense, the ...
s which Symbolics had used in common with
Lisp Machines Lisp machines are general-purpose computers designed to efficiently run Lisp as their main software and programming language, usually via hardware support. They are an example of a high-level language computer architecture, and in a sense, the ...
, Inc. (LMI), and
Texas Instruments Texas Instruments Incorporated (TI) is an American technology company headquartered in Dallas, Texas, that designs and manufactures semiconductors and various integrated circuits, which it sells to electronics designers and manufacturers globall ...
(TI). Genera was also sold by Symbolics as Open Genera, which runs Genera on computers based on a
Digital Equipment Corporation Digital Equipment Corporation (DEC ), using the trademark Digital, was a major American company in the computer industry from the 1960s to the 1990s. The company was co-founded by Ken Olsen and Harlan Anderson in 1957. Olsen was president unt ...
(DEC)
Alpha Alpha (uppercase , lowercase ; grc, ἄλφα, ''álpha'', or ell, άλφα, álfa) is the first letter of the Greek alphabet. In the system of Greek numerals, it has a value of one. Alpha is derived from the Phoenician letter aleph , whic ...
processor using Tru64 UNIX. In 2021 a new version was released as Portable Genera which runs on DEC
Alpha Alpha (uppercase , lowercase ; grc, ἄλφα, ''álpha'', or ell, άλφα, álfa) is the first letter of the Greek alphabet. In the system of Greek numerals, it has a value of one. Alpha is derived from the Phoenician letter aleph , whic ...
Tru64 UNIX,
x86_64 x86-64 (also known as x64, x86_64, AMD64, and Intel 64) is a 64-bit version of the x86 instruction set, first released in 1999. It introduced two new modes of operation, 64-bit mode and compatibility mode, along with a new 4-level paging mo ...
and
Arm64 AArch64 or ARM64 is the 64-bit extension of the ARM architecture family. It was first introduced with the Armv8-A architecture. Arm releases a new extension every year. ARMv8.x and ARMv9.x extensions and features Announced in October 2011, AR ...
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
,
x86_64 x86-64 (also known as x64, x86_64, AMD64, and Intel 64) is a 64-bit version of the x86 instruction set, first released in 1999. It introduced two new modes of operation, 64-bit mode and compatibility mode, along with a new 4-level paging mo ...
and
Apple M1 Apple M1 is a series of ARM-based systems-on-a-chip (SoCs) designed by Apple Inc. as a central processing unit (CPU) and graphics processing unit (GPU) for its Mac desktops and notebooks, and the iPad Pro and iPad Air tablets. The M1 c ...
macOS macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
. It is released and
licensed A license (or licence) is an official permission or permit to do, use, or own something (as well as the document of that permission or permit). A license is granted by a party (licensor) to another party (licensee) as an element of an agreeme ...
as
proprietary software Proprietary software is software that is deemed within the free and open-source software to be non-free because its creator, publisher, or other rightsholder or rightsholder partner exercises a legal monopoly afforded by modern copyright and int ...
. Genera is an example of an
object-oriented operating system An object-oriented operating system is an operating system that is designed, structured, and operated using object-oriented programming principles. An object-oriented operating system is in contrast to an object-oriented user interface or programm ...
based on the programming language Lisp. Genera supports incremental and interactive development of complex software using a mix of programming styles with extensive support for
object-oriented programming Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which can contain data and code. The data is in the form of fields (often known as attributes or ''properties''), and the code is in the form of pr ...
.


MIT's Lisp machine operating system

The Lisp Machine operating system was written in
Lisp Machine Lisp Lisp Machine Lisp is a programming language, a dialect of the language Lisp. A direct descendant of Maclisp, it was initially developed in the mid to late 1970s as the system programming language for the Massachusetts Institute of Technology ( ...
. It was a one-user workstation initially targeted at software developers for
artificial intelligence Artificial intelligence (AI) is intelligence—perceiving, synthesizing, and inferring information—demonstrated by machines, as opposed to intelligence displayed by animals and humans. Example tasks in which this is done include speech re ...
(AI) projects. The system had a large
bitmap In computing, a bitmap is a mapping from some domain (for example, a range of integers) to bits. It is also called a bit array or bitmap index. As a noun, the term "bitmap" is very often used to refer to a particular bitmapping application: t ...
screen, a mouse, a keyboard, a
network Network, networking and networked may refer to: Science and technology * Network theory, the study of graphs as a representation of relations between discrete objects * Network science, an academic field that studies complex networks Mathematics ...
interface, a disk drive, and slots for expansion. The operating system was supporting this hardware and it provided (among others): * code for a frontend processor * means to boot the operating system *
virtual memory In computing, virtual memory, or virtual storage is a memory management technique that provides an "idealized abstraction of the storage resources that are actually available on a given machine" which "creates the illusion to users of a very ...
management *
garbage collection Waste collection is a part of the process of waste management. It is the transfer of solid waste from the point of use and disposal to the point of treatment or landfill. Waste collection also includes the curbside collection of recyclabl ...
* interface to various hardware: mouse, keyboard, bitmap frame buffer, disk, printer, network interface * an interpreter and a native code compiler for Lisp Machine Lisp * an object system: Flavors * a
graphical user interface The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
(GUI) window system and
window manager A window manager is system software that controls the placement and appearance of windows within a windowing system in a graphical user interface. Most window managers are designed to help provide a desktop environment. They work in conjunction ...
* a local
file system In computing, file system or filesystem (often abbreviated to fs) is a method and data structure that the operating system uses to control how data is stored and retrieved. Without a file system, data placed in a storage medium would be one larg ...
* support for the Chaosnet (CHAOS) network * an Emacs-like Editor named
Zmacs Zmacs is one of the many variants of the Emacs text editor. Zmacs was written for the MIT Lisp machine and runs on its descendants (Symbolics Genera, LMI Lambda, TI Explorer). Zmacs is written in Lisp Machine Lisp (called ZetaLisp on Symbolic ...
* a mail program named Zmail * a Lisp listener * a
debugger A debugger or debugging tool is a computer program used to test and debug other programs (the "target" program). The main use of a debugger is to run the target program under controlled conditions that permit the programmer to track its executi ...
This was already a complete one-user Lisp-based operating system and development environment. The MIT Lisp machine operating system was developed from the middle 1970s to the early 1980s. In 2006, the
source code In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the wo ...
for this Lisp machine operating system from MIT was released as
free and open-source software Free and open-source software (FOSS) is a term used to refer to groups of software consisting of both free software and open-source software where anyone is freely licensed to use, copy, study, and change the software in any way, and the source ...
.


Genera operating system

Symbolics Symbolics was a computer manufacturer Symbolics, Inc., and a privately held company that acquired the assets of the former company and continues to sell and maintain the Open Genera Lisp system and the Macsyma computer algebra system.
developed new
Lisp machine Lisp machines are general-purpose computers designed to efficiently run Lisp as their main software and programming language, usually via hardware support. They are an example of a high-level language computer architecture, and in a sense, the ...
s and published the operating system under the name ''Genera''. The latest version is 8.5. Symbolics Genera was developed in the early 1980s and early 1990s. In the final years, development entailed mostly patches, with very little new function. Symbolics developed Genera based on this foundation of the MIT Lisp machine operating system. It sells the operating system and ''layered software''. Some of the layered software has been integrated into Genera in later releases. Symbolics improved the operating system software from the original MIT Lisp machine and expanded it. The Genera operating system was only available for Symbolics Lisp machines and the Open Genera
virtual machine In computing, a virtual machine (VM) is the virtualization/emulation of a computer system. Virtual machines are based on computer architectures and provide functionality of a physical computer. Their implementations may involve specialized hardw ...
. Symbolics Genera has many features and supports all the versions of various hardware that Symbolics built over its life. Its source code is more than a million lines; the number depends on the release and what amount of software is installed. Symbolics Genera was published on
magnetic tape Magnetic tape is a medium for magnetic storage made of a thin, magnetizable coating on a long, narrow strip of plastic film. It was developed in Germany in 1928, based on the earlier magnetic wire recording from Denmark. Devices that use magne ...
and
CD-ROM A CD-ROM (, compact disc read-only memory) is a type of read-only memory consisting of a pre-pressed optical compact disc that contains data. Computers can read—but not write or erase—CD-ROMs. Some CDs, called enhanced CDs, hold both comput ...
. The release of the operating system also provided most of the source code of the operating system and its applications. The user has free access to all parts of the running operating system and can write changes and extensions. The source code of the operating system is divided into ''systems''. These systems bundle sources, binaries and other files. The ''system construction toolkit'' (SCT) maintains the dependencies, the components and the versions of all the systems. A system has two numbers: a major and a minor version number. The major version number counts the number of full constructions of a system. The minor version counts the number of patches to that system. A ''patch'' is a file that can be loaded to fix problems or provide extensions to a particular version of a system. Symbolics developed a version named ''Open Genera'', that included a virtual machine that enabled executing Genera on DEC Alpha based workstations, plus several Genera extensions and applications that were sold separately (like the Symbolics ''S-Graphics'' suite). Also, they made a new operating system named ''Minima'' for embedded uses, in
Common Lisp Common Lisp (CL) is a dialect of the Lisp programming language, published in ANSI standard document ''ANSI INCITS 226-1994 (S20018)'' (formerly ''X3.226-1994 (R1999)''). The Common Lisp HyperSpec, a hyperlinked HTML version, has been derived fro ...
. The latest version is ''Portable Genera'', which has the virtual machine ported to
x86_64 x86-64 (also known as x64, x86_64, AMD64, and Intel 64) is a 64-bit version of the x86 instruction set, first released in 1999. It introduced two new modes of operation, 64-bit mode and compatibility mode, along with a new 4-level paging mo ...
,
Arm64 AArch64 or ARM64 is the 64-bit extension of the ARM architecture family. It was first introduced with the Armv8-A architecture. Arm releases a new extension every year. ARMv8.x and ARMv9.x extensions and features Announced in October 2011, AR ...
and
Apple M1 Apple M1 is a series of ARM-based systems-on-a-chip (SoCs) designed by Apple Inc. as a central processing unit (CPU) and graphics processing unit (GPU) for its Mac desktops and notebooks, and the iPad Pro and iPad Air tablets. The M1 c ...
processors - additionally to the
DEC Alpha Alpha (original name Alpha AXP) is a 64-bit reduced instruction set computer (RISC) instruction set architecture (ISA) developed by Digital Equipment Corporation (DEC). Alpha was designed to replace 32-bit VAX complex instruction set compute ...
processor. The virtual machine then runs under the
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
and
macOS macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
, additionally to Tru64 UNIX. The original Lisp machine operating system was developed in
Lisp Machine Lisp Lisp Machine Lisp is a programming language, a dialect of the language Lisp. A direct descendant of Maclisp, it was initially developed in the mid to late 1970s as the system programming language for the Massachusetts Institute of Technology ( ...
, using the ''Flavors'' object-oriented extension to that Lisp. Symbolics provided a successor to Flavors named ''New Flavors''. Later Symbolics also supported
Common Lisp Common Lisp (CL) is a dialect of the Lisp programming language, published in ANSI standard document ''ANSI INCITS 226-1994 (S20018)'' (formerly ''X3.226-1994 (R1999)''). The Common Lisp HyperSpec, a hyperlinked HTML version, has been derived fro ...
and the
Common Lisp Object System The Common Lisp Object System (CLOS) is the facility for object-oriented programming which is part of ANSI Common Lisp. CLOS is a powerful dynamic object system which differs radically from the OOP facilities found in more static languages such ...
(CLOS). Then Symbolics Common Lisp became the default Lisp dialect for writing software with Genera. The software of the operating system was written mostly in Lisp Machine Lisp (named
ZetaLisp Lisp Machine Lisp is a programming language, a dialect of the language Lisp. A direct descendant of Maclisp, it was initially developed in the mid to late 1970s as the system programming language for the Massachusetts Institute of Technology ( ...
) and Symbolics Common Lisp. These Lisp dialects are both provided by Genera. Also parts of the software was using either Flavors, New Flavors, and Common Lisp Object System. Some of the older parts of the Genera operating system have been rewritten in Symbolics Common Lisp and the Common Lisp Object system. Many parts of the operating systems remained written in ZetaLisp and Flavors (or New Flavors).


User interface

The early versions of Symbolics Genera were built with the original
graphical user interface The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
(GUI)
windowing system In computing, a windowing system (or window system) is software that manages separately different parts of display screens. It is a type of graphical user interface (GUI) which implements the WIMP (windows, icons, menus, pointer) paradigm fo ...
of the Lisp machine operating system. Symbolics then developed a radically new windowing system named ''Dynamic Windows'' with a ''presentation-based user interface''. This window system was introduced with Genera 7 in 1986. Many of the applications of Genera have then been using Dynamic Windows for their
user interface In the industrial design field of human–computer interaction, a user interface (UI) is the space where interactions between humans and machines occur. The goal of this interaction is to allow effective operation and control of the machine f ...
. Eventually there was a move to port parts of the window system to run on other Common Lisp implementations by other vendors as the
Common Lisp Interface Manager The Common Lisp Interface Manager (CLIM) is a Common Lisp-based programming interface for creating user interfaces, i.e., graphical user interfaces (GUIs). It provides an application programming interface (API) to user interface facilities for th ...
(CLIM). Versions of CLIM have been available (among others) for
Allegro Common Lisp Allegro Common Lisp is a programming language with an integrated development environment (IDE), developed by Franz Inc. It is a dialect of the language Lisp, a commercial software implementation of the language Common Lisp. Allegro CL provides ...
,
LispWorks LispWorks is computer software, a proprietary implementation and integrated development environment (IDE) for the programming language Common Lisp. LispWorks was developed by the UK software company Harlequin Ltd., and first published in 1989. Ha ...
, and
Macintosh Common Lisp Macintosh Common Lisp (MCL) is an implementation and IDE for the Common Lisp programming language. Various versions of MCL run under the classic Mac OS (m68k and PPC) and Mac OS X. Versions of MCL up to and including 5.1 are proprietary. Vers ...
. An open source version is available (
McCLIM McCLIM is an implementation of the Common Lisp Interface Manager (CLIM), for the programming language Common Lisp. The project is named partly after Mike McDonald, the person who began it. It is free and open-source software released under the GN ...
). ''Dynamic Windows'' uses typed objects for all output to the screen. All displayed information keeps its connection to the objects displayed (''output recording''). This works for both textual and graphical output. At runtime the applicable operations to these objects are computed based on the class hierarchy and the available operations ('' commands''). Commands are organized in
hierarchical A hierarchy (from Greek: , from , 'president of sacred rites') is an arrangement of items (objects, names, values, categories, etc.) that are represented as being "above", "below", or "at the same level as" one another. Hierarchy is an important ...
''command tables'' with typed parameters. Commands can be entered with the mouse (making extensive use of
mouse chording Mouse chording is the capability of performing actions when multiple mouse buttons are held down, much like a chorded keyboard and similar to mouse gestures. One common application of mouse chording, called ''rocker navigation'', is found in Ope ...
), keystrokes, and with a command line interface. All applications share one command line interpreter implementation, which adapts to various types of usage. The graphical abilities of the window system are based on the
PostScript PostScript (PS) is a page description language in the electronic publishing and desktop publishing realm. It is a dynamically typed, concatenative programming language. It was created at Adobe Systems by John Warnock, Charles Geschke, Doug Br ...
graphics model. The user interface is mostly in
monochrome A monochrome or monochromatic image, object or palette is composed of one color (or values of one color). Images using only shades of grey are called grayscale (typically digital) or black-and-white (typically analog). In physics, monochrom ...
( black and white) since that was what the hardware console typically provided. But extensive support exists for color, using color frame buffers or
X Window System The X Window System (X11, or simply X) is a windowing system for bitmap displays, common on Unix-like operating systems. X provides the basic framework for a GUI environment: drawing and moving windows on the display device and interacting wit ...
(X11) servers with color support. The ''activities'' (applications) use the whole screen with several panes, though windows can also be smaller. The layout of these activity windows adapts to different screen sizes. Activities can also switch between different pane layouts. Genera provides a ''system menu'' to control windows, switch applications, and operate the window system. Many features of the user interface (switching between activities, creating activities, stopping and starting processes, and much more) can also be controlled with keyboard commands. The ''Dynamic Lisp Listener'' is an example of a command line interface with full graphics abilities and support for mouse-based interaction. It accepts Lisp expressions and commands as input. The output is mouse sensitive. The Lisp listener can display forms to input data for the various built-in commands. The user interface provides extensive
online help Online help is topic-oriented, procedural or reference information delivered through computer software. It is a form of user assistance. The purpose of most online help is to assist in using a software application, web application or operating syst ...
and context sensitive help, completion of choices in various contexts.


Documentation

Genera supports fully hyperlinked online documentation. The documentation is read with the Document Examiner, an early
hypertext Hypertext is E-text, text displayed on a computer display or other electronic devices with references (hyperlinks) to other text that the reader can immediately access. Hypertext documents are interconnected by hyperlinks, which are typi ...
browser. The documentation is based on small reusable documentation records that can also be displayed in various contexts with the Editor and the Lisp Listener. The documentation is organized in books and sections. The books were also provided in printed versions with the same contents as the online documentation. The documentation
database In computing, a database is an organized collection of data stored and accessed electronically. Small databases can be stored on a file system, while large databases are hosted on computer clusters or cloud storage. The design of databases sp ...
information is delivered with Genera and can be modified with incremental patches. The documentation was created with a separate application that was not shipped with Genera: Symbolics ''Concordia''. Concordia provides an extension to the ''Zmacs'' editor for editing documentation records, a graphics editor and a page previewer. The documentation provides user guides, installation guidelines and references of the various Lisp constructs and libraries. The markup language is based on the
Scribe A scribe is a person who serves as a professional copyist, especially one who made copies of manuscripts before the invention of automatic printing. The profession of the scribe, previously widespread across cultures, lost most of its promi ...
markup language and also usable by the developer. Genera supports printing to postscript printers, provides a printing queue and also a PostScript interpreter (written in Lisp).


Features

Genera also has support for various network protocols and applications using those. It has extensive support for
TCP/IP The Internet protocol suite, commonly known as TCP/IP, is a framework for organizing the set of communication protocols used in the Internet and similar computer networks according to functional criteria. The foundational protocols in the suit ...
. Genera supports one-processor machines with several threads (called ''processes''). Genera supports several different types of
garbage collection Waste collection is a part of the process of waste management. It is the transfer of solid waste from the point of use and disposal to the point of treatment or landfill. Waste collection also includes the curbside collection of recyclabl ...
(GC): full GC, in-place GC, incremental GC, and ephemeral GC. The ephemeral collector uses only physical memory and uses the
memory management Memory management is a form of resource management applied to computer memory. The essential requirement of memory management is to provide ways to dynamically allocate portions of memory to programs at their request, and free it for reuse when ...
unit to get information about changed pages in physical memory. The collector uses generations and the virtual memory is divided into areas. Areas can contain objects of certain types (strings, bitmaps, pathnames, ...), and each area can use different memory management mechanisms. Genera implements two
file system In computing, file system or filesystem (often abbreviated to fs) is a method and data structure that the operating system uses to control how data is stored and retrieved. Without a file system, data placed in a storage medium would be one larg ...
s: the FEP file system for large files and the ''Lisp Machine File System'' (LMFS) optimized for many small files. These systems also maintain different versions of files. If a file is modified, Genera still keeps the old versions. Genera also provides access to, can read from and write to, other, local and remote, file systems including: NFS, FTP, HFS, CD-ROMs,
tape drive A tape drive is a data storage device that reads and writes data on a magnetic tape. Magnetic tape data storage is typically used for offline, archival data storage. Tape media generally has a favorable unit cost and a long archival stability. ...
s. Genera supports netbooting. Genera provides a client for the ''Statice''
object database An object database or object-oriented database is a database management system in which information is represented in the form of objects as used in object-oriented programming. Object databases are different from relational databases which a ...
from Symbolics. Genera makes extensive use of the ''condition system'' (exception handling) to handle all kinds of runtime errors and is able to recover from many of these errors. For example, it allows retrying network operations if a network connection has a failure; the application code will keep running. When errors occur, users are presented a menu of restarts (abort, retry, continue options) that are specific to the error signalled. Genera has extensive debugging tools. Genera can save versions of the running system to ''worlds''. These worlds can be booted and then will contain all the saved data and code.


Programming languages

Symbolics provided several
programming language A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
s for use with Genera: *
ZetaLisp Lisp Machine Lisp is a programming language, a dialect of the language Lisp. A direct descendant of Maclisp, it was initially developed in the mid to late 1970s as the system programming language for the Massachusetts Institute of Technology ( ...
, the Symbolics version of Lisp Machine Lisp *
Common Lisp Common Lisp (CL) is a dialect of the Lisp programming language, published in ANSI standard document ''ANSI INCITS 226-1994 (S20018)'' (formerly ''X3.226-1994 (R1999)''). The Common Lisp HyperSpec, a hyperlinked HTML version, has been derived fro ...
in several versions: Symbolics Common Lisp, Future Common Lisp (ANSI Common Lisp), CLtL1 * Symbolics Pascal, a version of Pascal written in Lisp (Lisp source is included in Genera distribution) * Symbolics C, a version of C written in Lisp (Lisp source is included in Genera distribution) * Symbolics Fortran, a version of Fortran written in Lisp (Lisp source is included in Genera distribution) Symbolics Common Lisp provides most of the Common Lisp standard with very many extensions, many of them coming from ZetaLisp.


Other languages from Symbolics

* Symbolics
Prolog Prolog is a logic programming language associated with artificial intelligence and computational linguistics. Prolog has its roots in first-order logic, a formal logic, and unlike many other programming languages, Prolog is intended primarily ...
, a version of Prolog written and integrated in Lisp * Symbolics
Ada Ada may refer to: Places Africa * Ada Foah, a town in Ghana * Ada (Ghana parliament constituency) * Ada, Osun, a town in Nigeria Asia * Ada, Urmia, a village in West Azerbaijan Province, Iran * Ada, Karaman, a village in Karaman Province, ...
, a version of Ada written in Lisp It is remarkable that these programming language implementations inherited some of the dynamic features of the Lisp system (like garbage collection and checked access to data) and supported incremental software development. Third-party developers provided more programming languages, such as
OPS5 OPS5 is a rule-based or production system computer language, notable as the first such language to be used in a successful expert system, the R1/XCON system used to configure VAX computers. The OPS (said to be short for "Official Production Sy ...
, and development tools, such as the
Knowledge Engineering Environment Knowledge Engineering Environment (KEE) is a frame-based development tool for expert systems. It was developed and sold by IntelliCorp, and first released in 1983. It ran on Lisp machines, and was later ported to Lucid Common Lisp with the CLX ...
(KEE) from IntelliCorp).


Applications

Symbolics Genera comes with several applications. Applications are called ''activities''. Some of the activities: *
Zmacs Zmacs is one of the many variants of the Emacs text editor. Zmacs was written for the MIT Lisp machine and runs on its descendants (Symbolics Genera, LMI Lambda, TI Explorer). Zmacs is written in Lisp Machine Lisp (called ZetaLisp on Symbolic ...
, an Emacs-like
text editor A text editor is a type of computer program that edits plain text. Such programs are sometimes known as "notepad" software (e.g. Windows Notepad). Text editors are provided with operating systems and software development packages, and can be us ...
* Zmail, a mail reader also providing a calendar * File system browser with tools for file system maintenance * Lisp Listener with command line interface * Document Examiner for browsing documentation * Restore Distribution to install software. * Distribute Systems, to create software distributions * Peek to examine system information (processes, windows, network connections, ...) * Debugger * Namespace Editor to access information about objects in the network (users, computers, file systems, ...) * Converse, a chat client * Terminal * Inspector, for browsing Lisp data structures * Notifications * Frame-Up, for designing user interfaces * Flavor Examiner, to examine the classes and methods of the Flavor object-oriented extension to Lisp


Other applications from Symbolics

Symbolics sold several applications that run on Symbolics Genera. * Symbolics Concordia, a document production suite * Symbolics Joshua, an
expert system In artificial intelligence, an expert system is a computer system emulating the decision-making ability of a human expert. Expert systems are designed to solve complex problems by reasoning through bodies of knowledge, represented mainly as if†...
shell * Symbolics
Macsyma Macsyma (; "Project MAC's SYmbolic MAnipulator") is one of the oldest general-purpose computer algebra systems still in wide use. It was originally developed from 1968 to 1982 at MIT's Project MAC. In 1982, Macsyma was licensed to Symbolics a ...
, a computer algebra system * Symbolics NS, a chip design tool * Symbolics Plexi, a neural network development tool * Symbolics S-Graphics, a suite of tools: S-Paint, S-Geometry, S-Dynamics, S-Render * Symbolics S-Utilities: S-Record, S-Compositor, S-Colorize, S-Convert * Symbolics Scope,
digital image processing Digital image processing is the use of a digital computer to process digital images through an algorithm. As a subcategory or field of digital signal processing, digital image processing has many advantages over analog image processing. It allo ...
with a Pixar Image Computer * Symbolics Statice, an object database


Third-party applications

Several companies developed and sold applications for Symbolics Genera. Some examples: * Automated Reasoning Tool (ART), an expert system shell from Inference Corporation * ICAD, 3d parametric CAD system * Illustrate, graphics editor *
Knowledge Engineering Environment Knowledge Engineering Environment (KEE) is a frame-based development tool for expert systems. It was developed and sold by IntelliCorp, and first released in 1983. It ran on Lisp machines, and was later ported to Lucid Common Lisp with the CLX ...
(KEE), an expert system shell, from IntelliCorp * Knowledge Craft, an expert system shell, from Carnegie Group * Metal, machine translation system from Siemens


Highlights

* Genera is written fully in Lisp, using ZetaLisp and Symbolics Common Lisp, including all low-level system code, such as device drivers, garbage collection, process scheduler, network stacks, etc. * The source code is more than a million lines of Lisp, yet relatively compact, compared to the provided functions, due to extensive reuse. It is also available for users to inspect and change. * The operating system is mostly written in an object-oriented style using Flavors, New Flavors, and CLOS * It has extensive online documentation readable with the Document Examiner * Dynamic Windows provides a presentation-based user interface * The user interface can be used locally (on Lisp Machines and MacIvories) and remotely (using X11) * Groups of developers can work together in a networked environment * A central
namespace In computing, a namespace is a set of signs (''names'') that are used to identify and refer to objects of various kinds. A namespace ensures that all of a given set of objects have unique names so that they can be easily identified. Namespaces ...
server provides a directory of machines, users, services, networks, file systems, databases, and more * There is little protection against changing the operating system. The whole system is fully accessible and changeable.


Limits

Genera's limits include: * Only runs on Symbolics Lisp Machines or the Open Genera emulator. * Only one user can be logged in at once. * Only one Lisp system can run at once. Data and code is shared by applications and the operating system. However, multiple instances of Open Genera can run on one DEC Alpha. * Development effectively stopped in the middle 1990s.


Releases

* 1982 – Release 78 * 1982 – Release 210 * 1983 – Release 4.0 * 1984 – Release 5.0 * 1985 – Release 6.0, introduces Symbolics Common Lisp, the Ephemeral Object Garbage Collector, and Document Examiner * 1986 – Genera 7.0, introduces Dynamic Windows * 1990 – Genera 8.0, introduces CLOS * 1991 – Genera 8.1, introduces CLIM * 1992 – Genera 8.2 * 1993 – Genera 8.3 * 1993 – Open Genera 1.0, introduces the Virtual Lisp Machine * 1998 – Open Genera 2.0 * 2021 – Portable Genera 2.0, the Virtual Lisp Machine ported to additional platforms A stable version of Open Genera that can run on
x86-64 x86-64 (also known as x64, x86_64, AMD64, and Intel 64) is a 64-bit version of the x86 instruction set, first released in 1999. It introduced two new modes of operation, 64-bit mode and compatibility mode, along with a new 4-level paging ...
or
arm64 AArch64 or ARM64 is the 64-bit extension of the ARM architecture family. It was first introduced with the Armv8-A architecture. Arm releases a new extension every year. ARMv8.x and ARMv9.x extensions and features Announced in October 2011, AR ...
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
, and
Apple M1 Apple M1 is a series of ARM-based systems-on-a-chip (SoCs) designed by Apple Inc. as a central processing unit (CPU) and graphics processing unit (GPU) for its Mac desktops and notebooks, and the iPad Pro and iPad Air tablets. The M1 c ...
MacOS macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
has been released. A hacked version of Open Genera that can run on
x86-64 x86-64 (also known as x64, x86_64, AMD64, and Intel 64) is a 64-bit version of the x86 instruction set, first released in 1999. It introduced two new modes of operation, 64-bit mode and compatibility mode, along with a new 4-level paging ...
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
exists.


References


External links

* *
Symbolics Genera Integrated Development Environment
*

*
"Genera Concepts"
web copy of Symbolics' introduction to Genera
Symbolics software documents at bitsavers.org






* ttps://www.youtube.com/watch?v=o4-YnLpLgtk "2013 Video Demonstration by Symbolics programmer Kalman Reti" {{DEFAULTSORT:Genera (Operating System) Common Lisp implementations Common Lisp (programming language) software Computing platforms Integrated development environments Lisp (programming language)-based operating systems Object-oriented operating systems